package demo.day13


// Kotlin 语言合并函数 zip
fun main() {
    val names = listOf("a", "b", "c")
    val ages = listOf(18, 19, 17)

    //Rxjava zip 合并操作符
    // zip 原理 把第一个集合和第二个集合 合并起来 创建新的集合 并返回
    // 创建新的集合 集合里面的元素Pair是以键值对方式存在的 k v
    // k代表第一个集合元素 v代表第二个集合元素
    val result = names.zip(ages)
    println(result)
    println(result.toMap())
//    println(result.toMutableList())
    // 遍历
    // 第一种方式
    result.forEach {
        // it == Pair<String,Int>
        println("姓名是${it.first},年龄是${it.second}")
    }
    // 第二种方式 解构的方式
    result.toMap().forEach { (k, v) ->
        println("姓名是${k},年龄是:$v")
    }

    // 第三种方式
    result.toMap().forEach {
        // it == Map.Entity(key,value)
        println("姓名是${it.key},年龄是:${it.value}")
    }

}